Trace Analysis

With the Module hierarchy below in mind I have been asked to produce a column in Module 2 that has object text from Module 4.

This would involve walking up to Module 1 then down to module 4 through module 3.

Clearly this is beyond Analysis Wizard.

I know that I could flow the information up from Module 4 by using the Trace Analysis in Module 3, then turning it into attributedxl, then sucking that up to Module 1, making it attributedxl then sucking it down to Module 2. But this seems a really nasty way of doing it.

I was wondering if anybody could either give me a clue or point me in the direction of anything that has already been developed to do this please?

Thanks in advance.


SMF007 - Wed Mar 09 10:57:46 EST 2016

Re: Trace Analysis
tinker_n_time - Wed Mar 09 13:32:14 EST 2016

You probably would make it easier for others to explain the steps to you, if you would include the direction of the links.  Otherwise the second party has to make assumption about link directions.

Re: Trace Analysis
SMF007 - Thu Mar 10 02:30:26 EST 2016

tinker_n_time - Wed Mar 09 13:32:14 EST 2016

You probably would make it easier for others to explain the steps to you, if you would include the direction of the links.  Otherwise the second party has to make assumption about link directions.

OK thanks...

So the trace is thus:-

Module 2 traces to Module 1 (ie when you make a trace, you start link in Module 2 and end link in Module 1)

Module 4 traces to Module 3 (ie when you make a trace, you start link in Module 4 and end link in Module 3)

Module 3 traces to Module 1 (ie when you make a trace, you start link in Module 3 and end link in Module 1)

 

Thanks in advance.

 

SMF

Re: Trace Analysis
tinker_n_time - Thu Mar 10 06:42:01 EST 2016

You can do what you ask for by using following steps

step 1 use trace wizard to trace from module 1 using inlinks, and trace to two levels.

step 2 use trace wizard in module 2 to create a trace to module 1 using outlinks and trace to level 1

step 3 copy dxl from step 1 to column created in step 2

step 4 integrate the two dxl so that the two dxl scripts are tied together.

I won't go into more details -- if you don't know how to integrate the two scripts together -- further discussion is not relevant.

Re: Trace Analysis
SMF007 - Thu Mar 10 08:45:29 EST 2016

tinker_n_time - Thu Mar 10 06:42:01 EST 2016

You can do what you ask for by using following steps

step 1 use trace wizard to trace from module 1 using inlinks, and trace to two levels.

step 2 use trace wizard in module 2 to create a trace to module 1 using outlinks and trace to level 1

step 3 copy dxl from step 1 to column created in step 2

step 4 integrate the two dxl so that the two dxl scripts are tied together.

I won't go into more details -- if you don't know how to integrate the two scripts together -- further discussion is not relevant.

That really was what I was asking.

I know how to use the Analysis Wizard, so that's the easy bit!

I know how to edit the dxl which is created by the Analysis Wizard.

What I don't know is how to merge the two pieces of dxl together in such a way that they will play nicely together.

Thanks

SMF

Re: Trace Analysis
tinker_n_time - Thu Mar 10 08:57:45 EST 2016

It is actually easy   in the incoming dxl remove the line   that says  showIn(othero,1)  and replace with

line shown below ie., showIn(othero,1) .  Note you may have to tweak the code since the following should be considered pseudocode

 

// DXL generated by DOORS traceability wizard on 10 March 2016.

/* void showIn code goes here

*/

void showOut(Object o, int depth) {
    Link l
    ModName_ otherMod = null
    Module linkMod = null
    ModuleVersion otherVersion = null
    Object othero
    for l in all(o->l"*") do {
        otherVersion = targetVersion l
        otherMod = module(otherVersion)
        if (null otherMod || isDeleted otherMod) continue
        othero = target l
        if (null othero)   load(otherVersion,false)
        othero = target l
        if (null othero) continue
        if (isDeleted othero) continue
       showIn(othero,1)  //   line to call the inlink code
    }
}
showOut(obj,1)
 

Re: Trace Analysis
SMF007 - Thu Mar 10 09:00:07 EST 2016

tinker_n_time - Thu Mar 10 08:57:45 EST 2016

It is actually easy   in the incoming dxl remove the line   that says  showIn(othero,1)  and replace with

line shown below ie., showIn(othero,1) .  Note you may have to tweak the code since the following should be considered pseudocode

 

// DXL generated by DOORS traceability wizard on 10 March 2016.

/* void showIn code goes here

*/

void showOut(Object o, int depth) {
    Link l
    ModName_ otherMod = null
    Module linkMod = null
    ModuleVersion otherVersion = null
    Object othero
    for l in all(o->l"*") do {
        otherVersion = targetVersion l
        otherMod = module(otherVersion)
        if (null otherMod || isDeleted otherMod) continue
        othero = target l
        if (null othero)   load(otherVersion,false)
        othero = target l
        if (null othero) continue
        if (isDeleted othero) continue
       showIn(othero,1)  //   line to call the inlink code
    }
}
showOut(obj,1)
 

OK thank you Tinker,  will have a crack at it. Cheers for you help.

Re: Trace Analysis
SMF007 - Fri Mar 11 05:12:48 EST 2016

Thank you Tinker, that worked a treat.... suddenly a whole new world of dxl tracing opens up before me!

Thanks again.

 

SMF